package com.ripcore.model;

import lombok.Data;

import java.util.List;

/**
 * RIPPacket 类用于表示 RIP（Routing Information Protocol）协议中的数据包。
 * 该数据包包含了发送路由器的ID、路由条目列表以及是否为触发更新的标记。
 * 
 * 主要作用：
 * 1. 封装路由更新信息，用于在路由器之间传递路由表的变化。
 * 2. 支持区分定期更新和触发更新（当路由发生变化时发送的更新）。
 * 3. 携带多个路由条目（RouteEntry），每个条目描述一个目标网络的路由信息。
 */
@Data
public class RIPPacket {
    /** 发送该RIP数据包的路由器ID */
    private String fromRouterId;
    /** 路由条目列表，包含目标网络、度量值等信息 */
    private List<RouteEntry> entries;
    /** 是否为触发更新标记，true表示这是由路由变化引发的更新 */
    private boolean triggered;
}